<?php

// 定义系统常量
define('CORE_PATH', './Xbsphp');
//定义配置路径
define('CONFIG_PATH', CORE_PATH.'/Config');
//定义资源路径
define('LIB_PATH', CORE_PATH.'/Lib');
//定义第三方扩展路径
define('VENDOR_PATH', CORE_PATH.'/Vendor');

//定义框架类库路径
define('XBS_PATH', CORE_PATH.'/Xbs');
//定义公共资源目录
define('__PUBLIC__', './Public');

// 引入全局公共方法
include CONFIG_PATH.'/function.php';

//自动生成模块
// if(defined('MODULE_NAME')){

// }

//接收外部传参(模块)
$module = isset($_GET['m']) ? ucfirst($_GET['m']) : C('DEFALUT_MODULE');
//接收外部传参(控制器)
$controller = isset($_GET['c']) ? ucfirst($_GET['c']) : C('DEFALUT_CONTROLLER');
//接收外部传参(方法)
$action = isset($_GET['a']) ? $_GET['a'] : C('DEFALUT_ACTION');

//定义模块名常量
define("MODULE_NAME", $module);

//定义控制器名常量
define("CONTROLLER_NAME", $controller);

//定义方法名常量
define("ACTION_NAME", $action);

// 定义模块路径
define('MODULE_PATH', APP_PATH.'/'.$module);
//定义控制器路径
define('CONTROLLER_PATH', MODULE_PATH.'/Controller');
//定义视图路径
define('VIEW_PATH', MODULE_PATH.'/View');
//定义模型路径
define('MODEL_PATH', MODULE_PATH.'/Model');

//自动加载类
function __autoload($classname)
{	
	//组合类可能存在的路径
	$paths = array(
		CONTROLLER_PATH.'/'.$classname.".class.php",
		MODEL_PATH.'/'.$classname.".class.php",
		LIB_PATH.'/'.$classname.".class.php",
		VENDOR_PATH.'/'.$classname.".class.php",
		XBS_PATH.'/'.$classname.".class.php",
		XBS_PATH.'/'.$classname.".class.php",
		VENDOR_PATH.'/smarty/libs/'.$classname.".class.php",
		VENDOR_PATH.'/smarty/libs/plugins/'.$classname.".php",
		VENDOR_PATH.'/smarty/libs/sysplugins/'.$classname.".php",
		);
	//判断存在并引入
	foreach ($paths as $v) {
		if(file_exists($v)){
			include $v;
			return;
		}
	}

	exit("类".$classname."不存在");
}

//组合控制器名
$controller .='Controller';

//实例化控制器
$obj = new $controller;

//调用控制器相对应的方法
$obj->$action();



















 ?>